package com.scapegoat.pay.user.service.api;

import com.scapegoat.pay.common.core.page.PageBean;
import com.scapegoat.pay.common.core.page.PageParam;
import com.scapegoat.pay.user.service.entity.RpUserInfo;
import com.scapegoat.pay.user.service.exceptions.PayBizException;

import java.util.List;

/**
 * 用户信息service接口
 *
 * @author walkman
 * @date 2017年10月17日 20:21:33
 */
public interface RpUserInfoService {

    /**
     * 保存
     */
    void saveData(RpUserInfo rpUserInfo) throws PayBizException;

    /**
     * 更新
     */
    void updateData(RpUserInfo rpUserInfo) throws PayBizException;

    /**
     * 根据id获取数据
     *
     * @param id
     * @return
     */
    RpUserInfo getDataById(String id) throws PayBizException;

    /**
     * 获取分页数据
     *
     * @param pageParam
     * @return
     */
    PageBean listPage(PageParam pageParam, RpUserInfo rpUserInfo) throws PayBizException;

    /**
     * 用户线下注册
     *
     * @param userName 用户名
     * @return
     */
    void registerOffline(String userName) throws PayBizException;

    /**
     * 根据商户编号获取商户信息
     *
     * @param merchantNo
     * @return
     */
    RpUserInfo getDataByMerchentNo(String merchantNo) throws PayBizException;

    /**
     * 获取所有用户
     *
     * @return
     */
    List<RpUserInfo> listAll() throws PayBizException;

}